package com.ruoyi.video.Enum;

public enum VideoPlatformEnum {
    Tiktok,
    Youtube,

    Instagram,

    None;

    /**
     * 根据URL判断视频平台
     * @param url 视频URL
     * @return 对应的平台枚举
     */
    public static VideoPlatformEnum fromUrl(String url) {
        if (url == null || url.trim().isEmpty()) {
            return None;
        }

        String lowerUrl = url.toLowerCase();

        if (lowerUrl.contains("tiktok.com") || lowerUrl.contains("tiktok")) {
            return Tiktok;
        } else if (lowerUrl.contains("youtube.com") || lowerUrl.contains("youtu.be")) {
            return Youtube;
        } else if (lowerUrl.contains("instagram.com") || lowerUrl.contains("instagr.am")) {
            return Instagram;
        } else {
            return None;
        }
    }

    /**
     * 检查URL是否属于指定平台
     * @param url 视频URL
     * @param platform 平台类型
     * @return 是否匹配
     */
    public static boolean isPlatform(String url, VideoPlatformEnum platform) {
        return fromUrl(url) == platform;
    }

    /**
     * 获取平台名称（首字母大写，其余小写）
     * @return 平台名称
     */
    public String getDisplayName() {
        if (this == None) {
            return "未知平台";
        }
        String name = this.name();
        return name.substring(0, 1).toUpperCase() + name.substring(1).toLowerCase();
    }

    /**
     * 检查当前平台是否是有效的视频平台（不是None）
     * @return 是否有效
     */
    public boolean isValidPlatform() {
        return this != None;
    }
}
